package com.tzbank.entity.mpass;

import com.tzbank.entity.BaseModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.annotations.Table;

import javax.persistence.Column;
import javax.persistence.Entity;
import java.io.Serializable;

@Data
@EqualsAndHashCode(callSuper = false)
@Entity(name = "mb_push_msg_config")
@Table(appliesTo = "mb_push_msg_config", comment = "推送消息配置表")
public class PushMsgConfig extends BaseModel implements Serializable {

	/**
	 * 
	 */
	private static final long serialVersionUID = 6234974814153380295L;

	/**
	 * 任务名称
	 */
	@ApiModelProperty(value = "任务名称")
	@Column(name = "task_name", columnDefinition = "varchar(200)  NOT NULL COMMENT '任务名称'")
	private String taskName;

	/**
	 * 消息推送标题
	 */
	@ApiModelProperty(value = "消息推送标题")
	@Column(name = "title", columnDefinition = "varchar(200)  NOT NULL COMMENT '消息推送标题'")
	private String title;

	/**
	 * 消息推送内容
	 */
	@ApiModelProperty(value = "消息推送内容")
	@Column(name = "content", columnDefinition = " text DEFAULT NULL COMMENT '消息推送内容'")
	private String content;

	/**
	 * 消息推送跳转地址
	 */
	@ApiModelProperty(value = "消息推送跳转地址")
	@Column(name = "uri", columnDefinition = "varchar(200)  DEFAULT NULL COMMENT '消息推送跳转地址'")
	private String uri;

	/**
	 * 消息有效期，单位s，消息有效期内设备在线方可下发，请根据实际业务场景设置，最长不能超过7天
	 */
	@ApiModelProperty(value = "消息有效期，单位s，消息有效期内设备在线方可下发，请根据实际业务场景设置，最长不能超过7天")
	@Column(name = "expired_seconds", columnDefinition = "varchar(100)  DEFAULT NULL COMMENT '消息有效期，单位s，消息有效期内设备在线方可下发，请根据实际业务场景设置，最长不能超过7天'")
	private String expiredSeconds;

	/**
	 * 消息类型：公告信息，待办信息，动账通知，客服聊天记录
	 */
	@ApiModelProperty(value = "消息类型")
	@Column(name = "msg_type", columnDefinition = "varchar(50)  NOT NULL COMMENT '消息类型：公告信息，待办信息，动账通知，客服聊天记录'")
	private String msgType;

	/**
	 * 消息展示方式：文本，外联链接，内部跳转
	 */
	@ApiModelProperty(value = "消息展示方式")
	@Column(name = "show_mode", columnDefinition = "varchar(50)  NOT NULL COMMENT '消息展示方式：文本，外联链接，内部跳转'")
	private String showMode;

	/**
	 * 推送标记：需要推送， 不需要推送
	 */
	@ApiModelProperty(value = "推送标记")
	@Column(name = "push_tag", columnDefinition = "varchar(50)  DEFAULT NULL COMMENT '推送标记：0-需要推送， 1-不需要推送'")
	private String pushTag;

	/**
	 * 推送对象：个人，群体，全部
	 */
	@ApiModelProperty(value = "推送对象")
	@Column(name = "push_object", columnDefinition = "varchar(50)  DEFAULT NULL COMMENT '推送对象：个人，群体，全部'")
	private String pushObject;
	
	/**
	 * 业务类型： 登录，转账等
	 */
	@ApiModelProperty(value = "业务类型： 登录，转账等")
	@Column(name = "business_type", columnDefinition = "varchar(50)  DEFAULT NULL COMMENT '业务类型： 登录，转账等'")
	private String businessType;

}
